package com.cn.sl.server.common.constant

/**
 * @author 阮雪峰
 */
object RegularConstant {
    const val CHAR_NUMBER = "^[A-Za-z0-9]+$"

    /**
     * 整数或者小数
     */
    const val NUMBER = "^[0-9]+\\.{0,1}[0-9]{0,2}$"

    /**
     * 只能输入有两位小数的正实数
     */
    const val TOW_BIT_DECIMAL = "^[0-9]+(.[0-9]{2})?$"

    /**
     * 只能输入有1~3位小数的正实数
     */
    const val ONE_TO_THREE_DECIMAL = "^[0-9]+(.[0-9]{1,3})?$"

    /**
     * 只能输入非零的正整数
     */
    const val NOT_ZERO_POSITIVE_INTEGER = "^\\+?[1-9][0-9]*$"

    /**
     * 只能输入由数字、26个英文字母或者下划线组成的字符串
     */
    const val NORMAL_STRING = "^\\w+$"

    /**
     * 用户名。正确格式为：以字母开头，长度在6~18之间，只能包含字符、数字和下划线。
     */
    const val USER_NAME = "^[a-zA-Z]\\w{5,17}$"

    /**
     * 密码校验，暂时与用户名一样
     */
    const val PASSWORD = "^[a-zA-Z]\\w{5,17}$"

    /**
     * 验证是否含有^%&',;=?$\"
     */
    const val SPECIAL_CHARACTERS = "[^%&',;=?$\\x22]+"

    /**
     * 只能输入汉字
     */
    const val CHINESE = "^[\u4e00-\u9fa5]{0,}$"

    /**
     * 邮件
     */
    const val EMAIL = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$"

    /**
     * 手机号码
     */
    const val MOBELPHONE = "^(1)\\d{10}$"

    /**
     * 图片
     */
    const val IMAGE = ".+(.JPEG|.jpeg|.JPG|.jpg|.GIF|.gif|.BMP|.bmp|.PNG|.png)$"

    /**
     * 视频
     */
    const val VIDEO = ".+(.mp4|.MP4|.avi|.AVI|.mov|.MOV|.rmvb|.RMVB|.wmv|.WMV)$"

    /**
     * 文本
     */
    const val TEXT = ".+(.pdf|.PDF|.txt|.TXT|.doc|.DOC)$"

    /**
     * 压缩包
     */
    const val ZIP = ".+(.zip|.ZIP|.rar|.RAR)$"
}